有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用IntelliJ REST客户端测试Spring MVC POST导致415

我正在用Java/SpringMVC开发一个应用程序,测试我的GET方法没有问题。出现问题后,我尝试使用@RequestBody测试POST

错误:

HTTP 415 The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.

我创建了一个简单的测试来显示我的问题:

@RestController
@RequestMapping("/test")
public class ConcreteTestController implements TestController {

    @RequestMapping(method = RequestMethod.POST)
    @ResponseStatus(value = HttpStatus.OK)
    @Override
    public void add(@RequestBody Dummy dummy) {
        System.out.println(dummy);
    }

    @RequestMapping(method = RequestMethod.GET)
    @ResponseStatus(value = HttpStatus.OK)
    @Override
    public Dummy get() {
        Dummy dummy = new Dummy();
        dummy.setName("apa");
        return dummy;
    }

}

虚拟类非常简单:

public class Dummy {

    private String name;

    public Dummy() {}
    // Omitted setters and getters.
}

GET的jsonresponse如下所示:

{"name":"apa"}

我正在启动IntellijREST客户端,并使用上面的json作为请求主体。我尝试在头中的Accept下使用application/json和/,结果没有差异

你知道这是什么原因吗?我被困住了,非常感谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    默认情况下,您必须在IntelliJ的REST客户端中手动添加内容类型。我忘记了这么做,并将其设置为application/json。这样做之后,它工作得很好